1. Field of the Invention
The present invention relates to a multiprocessor system and a compiling method used for the same.
2. Description of the Related Art
In recent years, with appearance of supercomputers, it has been eagerly demanded to do scientific computations in a large scale and at high speed. For example, the supercomputer, HITAC S-820 developed by HITACHI LTD. includes, in its computer system, extended storage (local extended storage) having a larger capacity than that of main storage, and operating at the same clock in synchronism with the main storage and an instruction processor(s) (see Proc. of IEEE International Conf. on Computer Design, 1984, pp. 227-231).
The extended storage serves as secondary storage for main storage which is a disk device, and permits data delivery for the main storage at much higher speed than the disk device. The extended storage has an address space independent of the main storage. In order to implement the large amount of high speed data transfer between the extended storage and the main storage, the data transfer is done for every 4 KB data. Divided data on the extended storage are read onto the main storage to do calculations on the read data, and the calculation result is written or stored into the extended storage again. Such a procedure is repeated. In this way, a process for dealing with large-scaled data exceeding the storage capacity of the main storage can be performed.
Further, in addition to operating an individual instruction processor at high speed, parallel processing for operating a plurality of instruction processors simultaneously has been generalized. JP-A-1-99141, JP-A-63-305451, JP-A-63-316251, JP-A-204361 and JP-A-55-18720 disclose a structure for performing this parallel processing system, i.e. a system in which plural subsystems each composed of main storage and one or more instruction processors commonly provided for the main storage are prepared and these subsystems are connected by shared extended storage. Further, JP-A-2-77867 (or the corresponding U.S. patent application Ser. No. 07/362286 now abandoned) discloses a system in which local storage devices connected directly between the subsystems are handled as shared storage. These local storage devices are identified by local extended storage device identification numbers (ESIDs) uniquely supplied to these devices.
Two kinds of extended storage used in the above systems can be compared as follows. The data transfer destinations of the former local extended storage are only the main storage or an instruction processor(s). On the other hand, the shared extended storage, which is connected with plural subsystems, needs plural sets of data transfer lines so that the data width on each data transfer line is relatively small. The shared extended storage, which is accessed from plural subsystems, produces access competition from the respective subsystems. Therefore, it is difficult to assure the high data throughput for each subsystem. In order to restrain any access competition at all, in JP-A-63-305451, the shared extended storage is divided into parts corresponding to the number of the subsystems, and when data are stored on the extended storage, they are copied so that data can be read from the respective subsystems simultaneously. Further, the local extended storage, which is located within each subsystem, can operate at the same clock as that for main storage and an instruction processor(s). On the other hand, the shared extended storage operates at the clock independent of each subsystem in order to assure flexibility in the system structure. Thus, a synchronous control circuit is required between the shared extended storage and each subsystem. In JP-A-1-99141, provision of a queue in the synchronous control circuit assures the high data transfer throughput for each subsystem.
JP-A-64-78361 (or the corresponding U.S. patent application Ser. No. 07/209,073 filed on Jun. 20, 1988) discloses a system in which shared storage is provided commonly to plural subsystems although the shared storage is not explicitly described as shared `extended` storage.